
#pragma once
#include "movie_cd.h"
#include <map>
#include <vector>

class movies_admin
{
private:
	static movies_admin *instance;
	movies_admin();

	int cds_counter;
	int movies_counter;
	map<string , movie_title> database;
	vector<movie_cd> cds;
public:
	// Singleton Pattern
	static movies_admin *get_movies_admin();
	
	int get_movies_counter();
	movie_cd * get_available_cd(string movie);  // Implement !

	// Michael
	bool search(string x);
	void add_movie(string movie_name , int copies_no , string movie_details);
	void add_copies(string movie_name , int extra_no);
	int get_copies(string movie_name);
	void display();
	void view_movie_details(string movie_name);
	void inc_copies_available(string name, int copies);
	void dec_copies_available(string name, int copies);
	bool check_availability(string name_);
	int get_available_copies(string movie_name);
};